package com.gagakuai.bpm.dao.mapper.camunda;


import com.gagakuai.bpm.domian.entity.camuda.ActHiActinst;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface ActHiActinstMapper {
    int deleteByPrimaryKey(String id);

    int insert(ActHiActinst record);

    int insertSelective(ActHiActinst record);

    ActHiActinst selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(ActHiActinst record);

    int updateByPrimaryKey(ActHiActinst record);


    /*
    * 根据taskId 修改办理人
    *
    */
    int updateAssigneeByTaskId(@Param("updatedAssignee") String updatedAssignee, @Param("taskId") String taskId);


    /*
     * 根据taskId 修改状态
     *
     */
    int updateInsStateByTaskId(@Param("insActState") Integer insActState, @Param("taskId") String taskId);

    /*
    *
    * 获取流程轨迹
    */
    List<ActHiActinst> selectWorkflowNoByProcessIdPage(@Param("proceInsId")String proceInsId);


    /*
    *
    *  添加启动流程的受理人
    *
    */
    int updateAssigneeForStartEventByProcessId(@Param("processInstanceId") String processInstanceId,@Param("startUser") String startUser);


    /*
     *
     *  修改创建时间
     *
     */
    int  updateCreateTimeByIns(@Param("createTime") Date createTime, @Param("processInstanceId") String processInstanceId);


    /*
     *
     *  修改开始节点的创建时间
     *
     */
    int  updateStartNodetartTime(@Param("processInstanceId") String processInstanceId);

    List<ActHiActinst> selectByTaskId(@Param("taskId") String id);

    void deleteMoreRecordProceIns(@Param("procInstId") String procInstId);

    int deleteHiByTaskList(@Param("taskList")List<String> taskList);
}